perm filename APOLOG[LSP,JRA] blob sn#129970 filedate 1974-11-11 generic text, type C, neo UTF8
COMMENT ⊗   VALID 00003 PAGES
C REC  PAGE   DESCRIPTION
C00001 00001
C00002 00002	**amibit g.a.
C00003 00003	.device xgp
C00008 ENDMK
C⊗;
**amibit g.a.
**abstract compilers
**chapters: static & dynamic

**additional: s-lisp; 

**crap on a.i. impl: control, pattern match, and d.b.(perhaps as projects instead of
         current.
**fixes in λ-calc, and mtc sections

**"gentle" reminders in existing text.

**more problems.

*self-contained u.g. to b. grad

possible reviewers
.device xgp;

.!xgplftmar←200;

.font 1 "ngr30";

.font 2 "basl30"

.turn on "%";

.select 1;


(cover letter to go to publisher...any comments??)

To the Patient Reader:

There  are  some  major revisions  in  progress  on  the  Super  Lisp
manuscript.    Sketching those  areas here  will  hopefully forestall
attempts to understand sections which  are poorly done and have  been
changed. 

Several  revisions   are  due  to  persistent   criticism  from  many
reviewers;  some are  due to my  general discomfort  with the current
presentation.  The net effect is a restructuring  of the two chapters
entitled    "Towards     Implementation"    [part    II-sec.6]    and
"Compilation"[II-7].   These  two  chapters are  being  rewritten  to
reflect the  static structure of  LISP and  the dynamic structure  of
LISP respectively. 

In [II-6], the  section on AMBIT/G is being completely rewritten. The
idea of  graphical description of  an algorithm  as well  as data  is
worth presenting,  but a very informal  sketch is all that  is really
necessary.   The sections on "syntactic dominoes", the Contour  model,
and graphical garbage collectors, are out. 

The chapter on compilers [II-7] for LISP is quite incomplete; however
it is  also much  too machine dependent.  This material has  all been
rewritten  in  a  much  more  abstract  style,  using   constructors,
selectors, and predicates.   There will correspondingly be  much less
emphasis on the  SM-machine.  What will remain will be moved into the
Compiling chapter. 

Throughout the  text, there  will be  more emphasis  on writing  LISP
programs  in an  abstract style.  This is  one of  the few  canons of
"structured programming" and should be recognized as such. 


There are a few topics yet to be included. The temptation to "keep on
writing" should be restrained, but one of the important  topics to be
included  is: just what  can we learn  from LISP?   LISP has  been an
amazingly durable language.  In attempting to understand LISP in  the
chapters on mechanics, evaluation, its  static and dynamic structure,
we should  begin to understand what makes  a LISP-like language. This
understanding is part of the chapter on "Implications..." [II-8].   A
chapter on  "Implications..." should  also examine  some of  the more
durable characteristics of Artificial Intelligence languages. 

Several   existing   sections   are  incomplete.   The   sections  on
%2λ%*-calculus [I-4.6] and mathematical semantics [I-4.17]  are quite
incomplete and contain some errors. These sections are being revised.
The section on  Weizenbaum diagrams  [I-4.9] has  been reworked.  The
current presentation is unclear and the diagrams are hard to read. 

Many more problem sets  must be included.  Any  contributions in this
area will be gratefully received. 

This   manuscript  attempts  to  give   a  reasonably  self-contained
presentation.   The  idea  is  to  give  people,  with  litle  or  no
background  in  Computer  Science,   a  proper  introduction  to  the
interesting  areas of the field.  I obviously think  LISP is the best
way to do this.